Skip to content

chore: openspec setup - #5006

Merged
jesmrec merged 3 commits into
masterfrom
technical/openspec_setup
Oct 9, 2026
Merged

jesmrec merged 3 commits into
masterfrom
technical/openspec_setup

Conversation

@jesmrec

@jesmrec jesmrec commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Related Issues

App:

  • Add changelog files for the fixed issues in folder changelog/unreleased. More info here
  • Add feature to Release Notes in ReleaseNotesViewModel.kt creating a new ReleaseNote() with String resources (if required)

QA

@jesmrec

jesmrec commented Oct 5, 2026

Copy link
Copy Markdown
Member Author

Things to add/check:

  • context: review, content should be similar to the AGENTS.md

  • rules: how the artifacts should be generated. The key issue is tasks where all implementation rules should be set.

  • operations: basic review

@jesmrec
jesmrec force-pushed the technical/openspec_setup branch from c03b0f7 to 8b027fc Compare October 6, 2026 11:13
@jesmrec
jesmrec marked this pull request as ready for review October 6, 2026 11:13
@jesmrec
jesmrec requested a review from a team as a code owner October 6, 2026 11:13
@joragua joragua changed the title feat: openspec setup chore: openspec setup Oct 7, 2026
Comment thread openspec/config.yaml Outdated

tasks:
- Order implementation tasks following the module dependency chain — owncloudComLibrary first, then owncloudData, owncloudDomain, owncloudApp last.
- Add unit tests only for layers where they are established — UseCases in owncloudDomain, Repository/DataSource implementations in owncloudData, ViewModels in owncloudApp. Do not add unit tests to owncloudComLibrary unless the change directly modifies library utilities there.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unit tests for viewModels are not being maintained at this moment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to let the agent develop tests there? if not, we should remove that part

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These tests have not been refactored to follow the new convention we are using for repositories and datasources. I'd refactor them but not now. We can try to use openspec for this refactor

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment thread openspec/config.yaml Outdated
- Cross-check the implementation against design.md — confirm the documented data-flow path (Fragment → ViewModel → UseCase → Repository → DataSource) is reflected in the actual code.
- Confirm all tasks in tasks.md are marked complete; flag any that were skipped or partially done.
- Run ./gradlew detekt on all affected modules and confirm zero issues.
- Run ./gradlew testDebugUnitTest --continue and confirm all unit tests pass.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd use the same command that we have in the CI system for unit tests. Is it OK for you? 🤔

Suggested change
- Run ./gradlew testDebugUnitTest --continue and confirm all unit tests pass.
- Run ./gradlew testDebugUnitTest testMdmDebugUnitTest --continue and confirm all unit tests pass.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed 👍

Comment thread openspec/config.yaml Outdated
archive:
guidance:
- Verify changelog/unreleased/<PR-number> exists and is correctly filled in before archiving.
- Confirm ./gradlew detekt and ./gradlew testDebugUnitTest --continue all pass.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same than the previous comment 🔝

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment thread openspec/config.yaml Outdated
tasks:
- Order implementation tasks following the module dependency chain — owncloudComLibrary first, then owncloudData, owncloudDomain, owncloudApp last.
- Add unit tests only for layers where they are established — UseCases in owncloudDomain, Repository/DataSource implementations in owncloudData, ViewModels in owncloudApp. Do not add unit tests to owncloudComLibrary unless the change directly modifies library utilities there.
- Add instrumented tests (androidTest) only when the change involves Room entities, DAOs, or DataSource implementations in owncloudData.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No instrumented tests have been added in a long time. Could this line be removed?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instrumented test are not only UI tests, also DB tests. In case new DB stuff is added, shouldn't the test be added as well?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same than unit tests for view models. I'd remove this line from config.yml and try to refactor these tests using openspec, but not now. Do you agree?

Comment thread openspec/config.yaml Outdated
apply:
guidance:
- After implementing each module layer, run ./gradlew detekt on that module before moving to the next.
- Write unit tests in a dedicated task group, not scattered across implementation tasks.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The unit tests tasks should be the last ones to run

This requirement could be added here, in this line

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, will specify that.

@jesmrec
jesmrec force-pushed the technical/openspec_setup branch from 8b027fc to 8c4fec8 Compare October 9, 2026 07:05
Signed-off-by: Jesus Recio <jrecio@izertis.com>
@jesmrec
jesmrec force-pushed the technical/openspec_setup branch from 8c4fec8 to 53acef3 Compare October 9, 2026 07:10
@jesmrec
jesmrec requested a review from joragua October 9, 2026 07:17
Signed-off-by: Jesus Recio <jrecio@izertis.com>
Signed-off-by: Jesus Recio <jrecio@izertis.com>
@jesmrec
jesmrec force-pushed the technical/openspec_setup branch from 53acef3 to 1e03949 Compare October 9, 2026 07:40

@joragua joragua left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Let's see how openspec works with this configuration 🚀

@jesmrec jesmrec closed this Oct 9, 2026
@jesmrec jesmrec reopened this Oct 9, 2026
@jesmrec
jesmrec merged commit f07aa5b into master Oct 9, 2026
17 checks passed
@jesmrec
jesmrec deleted the technical/openspec_setup branch October 9, 2026 09:59
@joragua joragua added this to the 4.9 - Current milestone Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants